package top.zywork.query;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * UserWalletQuery查询对象类<br/>
 *
 * 创建于2019-06-28<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class UserWalletQuery extends PageQuery {

    private static final long serialVersionUID = -9223372036170925542L;

    /**
	 * 钱包编号
	 */
	private Long id;
	/**
	 * 钱包编号(最小值)
	 */
	private Long idMin;
	/**
	 * 钱包编号(最大值)
	 */
	private Long idMax;
	/**
	 * 支付密码
	 */
	private String payPassword;
	/**
	 * 人民币余额（元）
	 */
	private BigDecimal rmbBalance;
	/**
	 * 人民币余额（元）(最小值)
	 */
	private BigDecimal rmbBalanceMin;
	/**
	 * 人民币余额（元）(最大值)
	 */
	private BigDecimal rmbBalanceMax;
	/**
	 * 可用余额（元）
	 */
	private BigDecimal usableRmbBalance;
	/**
	 * 可用余额（元）(最小值)
	 */
	private BigDecimal usableRmbBalanceMin;
	/**
	 * 可用余额（元）(最大值)
	 */
	private BigDecimal usableRmbBalanceMax;
	/**
	 * 冻结余额（元）
	 */
	private BigDecimal frozenRmbBalance;
	/**
	 * 冻结余额（元）(最小值)
	 */
	private BigDecimal frozenRmbBalanceMin;
	/**
	 * 冻结余额（元）(最大值)
	 */
	private BigDecimal frozenRmbBalanceMax;
	/**
	 * 总积分
	 */
	private Long integral;
	/**
	 * 总积分(最小值)
	 */
	private Long integralMin;
	/**
	 * 总积分(最大值)
	 */
	private Long integralMax;
	/**
	 * 可用积分
	 */
	private Long usableIntegral;
	/**
	 * 可用积分(最小值)
	 */
	private Long usableIntegralMin;
	/**
	 * 可用积分(最大值)
	 */
	private Long usableIntegralMax;
	/**
	 * 冻结积分
	 */
	private Long frozenIntegral;
	/**
	 * 冻结积分(最小值)
	 */
	private Long frozenIntegralMin;
	/**
	 * 冻结积分(最大值)
	 */
	private Long frozenIntegralMax;
	/**
	 * 版本号
	 */
	private Integer version;
	/**
	 * 版本号(最小值)
	 */
	private Integer versionMin;
	/**
	 * 版本号(最大值)
	 */
	private Integer versionMax;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 创建时间(最小值)
	 */
	private Date createTimeMin;
	/**
	 * 创建时间(最大值)
	 */
	private Date createTimeMax;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 更新时间(最小值)
	 */
	private Date updateTimeMin;
	/**
	 * 更新时间(最大值)
	 */
	private Date updateTimeMax;
	/**
	 * 是否激活
	 */
	private Byte isActive;
	/**
	 * 是否激活(最小值)
	 */
	private Byte isActiveMin;
	/**
	 * 是否激活(最大值)
	 */
	private Byte isActiveMax;
	
	/**
	 * 多个编(只用于单表，关联表不适用)
	 */
	private Long[] ids;
}
